{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 独立成分分析(Independent component analysis,ICA)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "独立成分分析是一种线性因子建模的方法，旨在将观察到的信号分离成许多潜在信号，这些潜在信号通过缩放和叠加可以恢复成观察数据。也就是说ICA解决的是原始数据分离的问题。\n",
    "\n",
    "最典型的例子就是鸡尾酒会的盲源分离。\n",
    "\n",
    "假设宴会上有 n 个人同时说话，在不同位置放置 n 个不同的麦克风，则 n 个麦克风得到一组声音的观察数据 $\\{x^{(j)}_i;j=1,2,⋯,m，i=1,2,...,n\\}$，j 表示采样的时间顺序，也就是说有 m 组采样，其中每个样本$x^{(j)}$都是 n 维，记$X=(x^{(j)}_i)_{n*1}$。ICA的目标就是从采样的声音数据中分辨出每个人说的话。\n",
    "\n",
    "将鸡尾酒会问题具体化如下：假设有 n 个信号源 $s=(s_1,...,s_n)^T$ ，每个 $s_i$ 都是一个声音信号，不同的信号之间彼此独立。设 A 是未知的混合矩阵，用来组合 n 个信号源，那么$$X=As$$\n",
    "\n",
    "图示如下：\n",
    "![image.png](./img/image.png)\n",
    "\n",
    "[图片来源](http://amouraux.webnode.com/research-interests/research-interests-erp-analysis/blind-source-separation-bss-of-erps-using-independent-component-analysis-ica/)\n",
    "\n",
    "每个$x^i$都由$s$的各分量线性组合来表示。A和s都是未知的，X是观测到的，现在要根据X推出s，这个过程称为盲源分离。\n",
    "\n",
    "令$W=A^{-1}$，那么$s^{(i)}=A^{-1}X^{(i)}=WX^{(i)}$，其中\n",
    "\n",
    "$$W={(w_1,...,w_n)}^T,w_i \\in R^n$$ \n",
    "\n",
    "从而，$s_j^{(i)}=w_j^Tx^{(i)}$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. ICA的假设条件\n",
    "\n",
    "（1）各个成分之间相互统计独立\n",
    "\n",
    "随机变量之间的统计独立性可以通过概率密度函数来刻画。如果用$p(y_1,...,y_n)$表示$y_i(i=1,...,n)$的联合概率密度函数，用$p_i(y_i)$表示随机变量$y_i(i=1,...,n)$的边际概率密度函数，那么我们说$y_i(i=1,...,n)$是相互统计独立的，如果满足：\n",
    "\n",
    "$$p(y_1,...,y_n)=\\prod_{i=1}^{n}p_i(y_i)$$\n",
    "\n",
    "（2）独立成分具有非高斯性\n",
    "\n",
    "假设有两个成分满足高斯分布，$s$服从$N(0,I)$，$I$是2*2的单位矩阵。由于$X=As$，因此$X$也是高斯分布的，均值为 0，协方差矩阵为$E[XX^T]=E[Ass^TA^T]=AA^T$.令$R$是正交矩阵，$A'=AR$,$X'=A's$，那么$X'$也是高斯分布的，均值为 0，协方差矩阵为$E[X'X'^T]=E[A'ss^TA'^T]=A'A'^T=ARR^TA^T=AA^T$. 因此无论混合矩阵为$A$或$A'$时，$X$的分布情况是一样的，从而无法确定混合矩阵，也就无法确定源信号。\n",
    "\n",
    "（3）混合矩阵为满秩的方阵\n",
    "\n",
    "对于标准的独立成分分析而言，混合矩阵为满秩的方阵是必要的。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "### 2. ICA的不确定性\n",
    "\n",
    "（1） 独立成分的方差无法确定\n",
    "\n",
    "原因是很明显的，由于混合矩阵及独立成分都无法确定，因此扩大或缩小若干倍独立成分后都可以由混合矩阵缩小或扩大相应倍数来达到平衡。因此，在独立成分分析中，一般固定独立成分的方差为单位方差。\n",
    "\n",
    "（2） 独立成分的顺序无法确定\n",
    "\n",
    "这也是很显然的。设 P 是初等矩阵，则$X=As=AP^{-1}Ps$中对 s 作行变换得到重新排序的独立成分$Ps$，此时混合矩阵变为$AP^{-1}$. 换句话说，若把独立成分的位置作一些变换，则把混合矩阵的相应的列作同样变换即可得到同样的观察信号。\n",
    "\n",
    "\n",
    "### 3.数据的预处理\n",
    "\n",
    "（1）归一化\n",
    "\n",
    "通过$X-E[X]$使得$X$成为0均值。\n",
    "\n",
    "（2）白化\n",
    "\n",
    "白化的作用是使得各成分彼此不相关，并且方差为1.也就是说，使得白化后的$X$(记作$\\bar X$)的协方差矩阵为单位矩阵：\n",
    "$$E(\\bar X\\bar X^T)=I$$\n",
    "\n",
    "通过特征值分解即可达到此目的。设$E[XX^T]=EDE^T$,其中$E$是协方差矩阵$E[XX^T]$的特征向量构成的正交矩阵，$D$是特征值构成的对角矩阵。那么，白化向量可以通过如下方式获得：\n",
    "\n",
    "$$\\bar X =D^{-\\frac{1}{2}}E^TX$$\n",
    "\n",
    "验证$E(\\bar X\\bar X^T)=I$是很容易的。\n",
    "\n",
    "作白化转换之后，混合矩阵也发生了变化，新的混合矩阵成为了正交矩阵：\n",
    "\n",
    "$$\\bar X=D^{-\\frac{1}{2}}E^TAs=\\bar As$$\n",
    "\n",
    "$$E[\\bar X\\bar X^T]=\\bar AE[ss^T]\\bar A^T=\\bar A\\bar A^T=I$$\n",
    "\n",
    "可以看到，作白化处理之前，需要估计$n^2$个参数，而白化之后，正交矩阵的自由度为$n(n-1)/2$,大大减少了工作量。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "### 4. ICA算法\n",
    "\n",
    "ICA算法的研究可分为基于信息论准则的迭代估计方法和基于统计学的代数方法两大类，从原理上来说，它们都是利用了源信号的独立性和非高斯性。基于信息论的方法研究中，各国学者从最大熵、最小互信息、最大似然和负熵最大化等角度提出了一系列估计算法，如FastICA算法, Infomax算法，最大似然估计算法等。基于统计学的方法主要有二阶累积量、四阶累积量等高阶累积量方法。本文接下来内容介绍基于信息论的最大似然估计算法及负熵最大化算法，并给出基于负熵最大化的FastICA算法的代码实现，尝试分离出具有两个独立成分的混合信号。\n",
    "\n",
    "#### 4.1 最大似然估计算法\n",
    "\n",
    "假定每个源信号$s_i (i=1,...,n)$各自独立，且$s_i$的概率密度函数为$p_s$，那么给定时刻源信号的联合分布密度函数是\n",
    "\n",
    "$$p(s)=\\prod_{i=1}^{n}p_s(s_i) ,$$\n",
    "\n",
    "那么$$p(X)=p_s(WX)\\left | W \\right |=\\left | W \\right |\\prod_{i=1}^{n}p_s(w_i^TX)$$\n",
    "\n",
    "上式中左边等号推导如下：\n",
    "\n",
    "$$F_X(x)=P(X\\leq x)=P(As\\leq x)=P(s\\leq Wx)=F_s(Wx)$$\n",
    "\n",
    "$$p_x(x)=F'_X(x)=F'_s(Wx)=p_s(Ws)\\left | W \\right |  .$$\n",
    "\n",
    "此时，要得到$W$和$s_i$ ，需要知道概率密度函数$p_s(s_i)$。而密度函数是由累计分布函数求导得到，不妨记累计分布函数为$F(x)$，$F(x)$应满足单调递增且值域为$[0,1]$两个条件。\n",
    "\n",
    "如果无法预知$s$的分布函数，那么需要我们进行假设。考虑sigmod函数良好满足累计分布函数的性质，因此将其赋给$F(x)$，在大多数情况中sigmod函数能取得不错的效果。\n",
    "\n",
    "假设$s_i$的累计分布函数为\n",
    "\n",
    "$$g(s_i)=\\frac{1}{1+e^{-s_i}}$$\n",
    "\n",
    "求导可以得到\n",
    "\n",
    "$$p_s(s_i)=g'(s_i)=\\frac{e^{-s_i}}{(1+e^{-s_i})^2}$$\n",
    "\n",
    "接下来采用最大似然法来估计$W$，使用前面得到的$X$的概率密度函数，可得\n",
    "\n",
    "$$L(W)=\\sum_{i=1}^{m}(\\sum_{j=1}^{n}\\log g'(w_j^TX^{(i)})+\\log \\left | W \\right |)$$\n",
    "\n",
    "接下来就是对$W$求导(矩阵求导请参考线性代数相关知识)，这里直接给出公式：\n",
    "\n",
    "$$\\bigtriangledown _W\\left | W \\right |=\\left | W \\right |(W^{-1})^T$$\n",
    "\n",
    "使用梯度下降法计算后，最终求导结果为：\n",
    "\n",
    "$$W:=W+\\alpha \\begin{pmatrix}\\begin{bmatrix} 1-2g(w_1^TX^{(i)})\\\\ 1-2g(w_2^TX^{(i)})\\\\  \\vdots \\\\  1-2g(w_n^TX^{(i)})\\end{bmatrix}X^{{(i)}^T}+(W^T)^{-1} \\end{pmatrix}$$\n",
    "\n",
    "其中$\\alpha $是学习率。\n",
    "\n",
    "迭代求出$W$后，根据$s^{(i)}=WX^{(i)}$便可还原出原始信号。\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 4.2 负熵最大化算法\n",
    "\n",
    "由信息论理论可知，在所有等方差的随机变量中，高斯变量的熵最大，因此可以利用熵来度量非高斯性。连续变量的熵的定义如下：\n",
    "\n",
    "(微分)熵：\n",
    "$$H(y)=-\\int f(y) \\log f(y)dy$$\n",
    "\n",
    "在实际应用中，为了使Gauss变量的非高斯性为0，并且使通常的非高斯性度量保持非负，人们度量非高斯性时更多地是采用熵的修正形式——负熵。负熵的定义如下：\n",
    "\n",
    "负熵：\n",
    "$$Ng(y)=H(y_{gauss})-H(y)$$\n",
    "\n",
    "在上面两个等式中，$f(y)$是密度函数，$y_{gauss}$表示与随机变量$y$同方差的Gauss变量。\n",
    "\n",
    "根据信息理论，在具有相同方差的随机变量中，高斯分布的随机变量具有最大的微分熵。当y具有高斯分布时，Ng(y)=0；y的非高斯性越强，其微分熵越小，Ng(y)的值越大,所以Ng(y)可以作为随机变量y非高斯性的度量。但是利用负熵的定义来求解负熵，需要知道密度函数，而且计算非常困难。所以在实际情况中，一般采用下面的近似公式：\n",
    "\n",
    "$$Ng(y)=\\{E[G(y)]-E[G(y_{gauss})]\\}^2$$\n",
    "\n",
    "其中，$G(.)$为非二次函数，通常可取$G_1(u)=\\frac{1}{a_1}\\log \\cosh (a_1u)$ ,$G_2(u)=- \\exp(-u^2/2)$ ,$a_1$一般可取1. 很容易得到它们的导数：\n",
    "\n",
    "$$g_1(u)=\\tanh (a_1u)$$\n",
    "\n",
    "$$g_2(u)=u \\exp (-u^2/2)$$\n",
    "\n",
    "#### 4.2.1 FastICA算法\n",
    "\n",
    "设$z = A^Tw$，$w$是一个列向量，那么有$y = w^TX = w^TAs = z^Ts$。由中心极限定理知道，相互独立的随机变量的和比其中任意单独的随机变量具有更强的高斯性。所以$y = z^Ts$的高斯性比任意一个$s_i$要强，当$y$等于某个$s_i$时高斯性最弱，此时向量$z$只有$z_i$分量非零。所以要分离出潜在变量就是要得到一个$w$使得$y = w^TX = z^Ts$具有最大的非高斯性。\n",
    "\n",
    "FastICA就是基于负熵最大化的原理来估计W，找到一个方向以便$W^TX(s=W^TX)$具有最大的非高斯性，非高斯性用$Ng(s)=\\{E[g(s)]-E[g(s_{gauss})]\\}²$ 给出的负熵的近似值来度量。\n",
    "\n",
    "假设数据已经经过归一化和白化处理，$w^TX$的负熵近似值可以通过$E[w^TX]$的最优值获得。根据Kuhn-Tucker条件，在$E[(w^TX)^2]=\\left \\| w \\right \\|=1$的约束条件下，$E[w^TX]$的最优值满足：\n",
    "\n",
    "$$E[Xg(w^TX)]-\\beta w =0 $$\n",
    "\n",
    "其中$w^T$是$W$的一行，通过牛顿法求解后可得到迭代公式：\n",
    "\n",
    "$$w^+=w-(E[Xg(w^TX)]-\\beta w) / (E[g'(w^TX)]-\\beta )$$\n",
    "\n",
    "进一步化简可得到\n",
    "\n",
    "$$w^+=E[Xg(w^TX)]-E[g'(w^TX)]w$$\n",
    "\n",
    "因此，做一次FastICA算法的基本形式为：\n",
    "\n",
    "1）初始化向量w；\n",
    "\n",
    "2）令$w^+=E[Xg(w^TX)]-E[g'(w^TX)]w$；\n",
    "\n",
    "3）令$w=w^+/\\left \\| w^+ \\right \\|$;\n",
    "\n",
    "4）重复2）和3）直至收敛。\n",
    "\n",
    "一次FastICA只能估算出一个独立成分，若要估计多个独立成分，需要进行多次FastICA算法来得到$w_1,w_2,...,w_n$.同时为了防止这些向量收敛在同一个最大值，需要对每次输出$w_1^TX,w_2^TX,...,w_p^TX$做去相关。\n",
    "\n",
    "常用的去相关方法有两种，一种是Gram-Schmidt-like去相关，即一个接一个地估计独立成分。在估计出$p$个独立成分$w_1,...,w_p$之后，当估计$w_{p+1}$时先减去先前预测的$p$个向量的投影，然后标准化$w_{p+1}$；\n",
    "\n",
    "第二种方法是对称去相关，可通过矩阵平方根完成\n",
    "\n",
    "$$W:=(WW^T)^{-1/2}W$$\n",
    "\n",
    "其中$W=(w_1,w_2,...,w_n)^T$,逆平方根可以通过特征值分解得到。\n",
    "\n",
    "多个成分的估计可以通过如下迭代算法实现：\n",
    "\n",
    "1）初始化每一个向量$w_i,i=1,2,...,n$，并进行步骤3）；\n",
    "\n",
    "2）令$w_i=E[Xg(w_i^TX)]-E[g'(w_i^TX)]w$，$i=1,2,...,n$；\n",
    "\n",
    "3）令$W=(WW^T)^{-1/2}W$,将$W$做对称的正交化;\n",
    "\n",
    "4）重复2）和3）直至收敛。\n",
    "\n",
    "实践中，FastICA算法中用的期望一般用样本均值来代替。理想状态是所有的有效样本都参与计算，但是数据量很多的时候速度很慢，这时候在保持一定量数据的前提下可分别采样。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下面给出FastICA算法的代码实现，并分离出二元混合信号的原始信号。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import math\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "from numpy import *\n",
    "from scipy.io import wavfile\n",
    "import wave\n",
    "import struct\n",
    "\n",
    "\n",
    "def whiten(X):\n",
    "    #zero mean\n",
    "    X_mean = X.mean(axis=-1)\n",
    "    X -= X_mean[:, newaxis]\n",
    "    #whiten\n",
    "    A = dot(X, X.transpose())\n",
    "    D , E = linalg.eig(A)\n",
    "    D2 = linalg.inv(array([[D[0], 0.0], [0.0, D[1]]], float32))\n",
    "    D2[0,0] = sqrt(D2[0,0]); D2[1,1] = sqrt(D2[1,1])\n",
    "    V = dot(D2, E.transpose())\n",
    "    return dot(V, X), V\n",
    "\n",
    "def _logcosh(x, alpha = 1):\n",
    "    gx = tanh(alpha * x); g_x = gx ** 2; g_x -= 1.; g_x *= -alpha\n",
    "    return gx, g_x.mean(axis=-1)\n",
    "\n",
    "def do_decorrelation(W):\n",
    "    #black magic\n",
    "    s, u = linalg.eigh(dot(W, W.T))\n",
    "    return dot(dot(u * (1. / sqrt(s)), u.T), W)\n",
    "\n",
    "def do_fastica(X):\n",
    "    n, m = X.shape; p = float(m); g = _logcosh\n",
    "    #black magic\n",
    "    X *= sqrt(X.shape[1])\n",
    "    #create w\n",
    "    W = ones((n,n), float32)\n",
    "    for i in range(n): \n",
    "        for j in range(i):\n",
    "            W[i,j] = random.random()\n",
    "            \n",
    "    #compute W\n",
    "    maxIter = 200\n",
    "    for ii in range(maxIter):\n",
    "        gwtx, g_wtx = g(dot(W, X))\n",
    "        W1 = do_decorrelation(dot(gwtx, X.T) / p - g_wtx[:, newaxis] * W)\n",
    "        lim = max( abs(abs(diag(dot(W1, W.T))) - 1) )\n",
    "        W = W1\n",
    "        if lim < 0.0001:\n",
    "            break\n",
    "    return W\n",
    "\n",
    "def show_data(T, S):\n",
    "    plt.plot(T, [S[0,i] for i in range(S.shape[1])], marker=\"*\")\n",
    "    plt.plot(T, [S[1,i] for i in range(S.shape[1])], marker=\"o\")\n",
    "    plt.show()\n",
    "\n",
    "def main():\n",
    "    \n",
    "    #n_components = 2\n",
    "\n",
    "    samplingRate_1, data_1 = wavfile.read('./data_sound/mix1.wav')\n",
    "    samplingRate_2, data_2 = wavfile.read('./data_sound/mix2.wav')\n",
    "    X = array([data_1, data_2], float32)\n",
    "\n",
    "    Dwhiten, K = whiten(X)\n",
    "    W = do_fastica(Dwhiten)\n",
    "    Sr = dot(dot(W, K), X)\n",
    "\n",
    "    #展示混合信号及分离后的信号\n",
    "    show_data(range(len(data_1)), X)\n",
    "    show_data(range(len(data_1)), Sr)\n",
    "\n",
    "    filepath = './data_sound/'\n",
    "    outData_1,outData_2 = Sr[0,:],Sr[1,:]   #待写入wav的数据\n",
    "    nchannels = 1\n",
    "    sampwidth = 2\n",
    "    fs = 8000\n",
    "    data_size = len(outData_1)\n",
    "    framerate = int(fs)\n",
    "    nframes = data_size\n",
    "    comptype = \"NONE\"\n",
    "    compname = \"not compressed\"\n",
    "\n",
    "    outfile_1 = filepath+'my_ica1.wav'\n",
    "    outwave_1 = wave.open(outfile_1, 'wb')  # 定义存储路径以及文件名\n",
    "    outwave_1.setparams((nchannels, sampwidth, framerate, nframes,comptype, compname))\n",
    "    \n",
    "    for v_1 in outData_1:\n",
    "        outwave_1.writeframes(struct.pack('h', int(v_1 * 64000 / 2))) \n",
    "    outwave_1.close()\n",
    "   \n",
    "    outfile_2 = filepath+'my_ica2.wav'\n",
    "    outwave_2 = wave.open(outfile_2, 'wb')  \n",
    "    outwave_2.setparams((nchannels, sampwidth, framerate, nframes,comptype, compname))\n",
    "        \n",
    "    for v_2 in outData_2:\n",
    "        outwave_2.writeframes(struct.pack('h', int(v_2 * 64000 / 2)))\n",
    "    outwave_2.close()\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x103fba898>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nltsabDNU390T+W3mbVBFWhsUrdsgAIzoX4nltzf66vnoNeUpGDzAjV5+8VufWbwUNhJGpdNX/8aD\nV52Jr56WyvVCAL44mv7i7zjUbWuMbA22IZCwyyrKJI8mB+V0ReyYuafT1Ec9030rHX5vXDS1v6i3\ne+IsaKCzfrLmdrSLjbhp8mh89bQhGtXIl08eiP6V6VG215w7PO8651wRDGTXJZkJ/Vpxnycds19t\nsNAoT8GQoY+wQFJwzOJbJrqaMSy+ZaL5zgYDVzU1Jjr9+rkr8NrGL5LfjeRU30gAg/vaex05XvjE\nqvPXr8/gBjNPp/EtwLk3ItVNk/TdpcpD/WwEAn5VMQMJncCJsqBmIRbTOAa3Ed46nfVfqlLeJotm\nNOCMYSl98ilD+qYJpD7hALp6nUV1lwQ2Ay6l3YVNvIHMhP5uDDLcng1etsFCozwFQ4aITAqOaTx1\nCN662/nU/nd/+9x854mTrE820emvap2iMYRVhIS0cP3Lxp6AtXO/Zls+x+602XgeWWEmcDa0AeuX\nINXkmPQ9i1gKBqB+aL+0fLZM16yNvFsAeLouQf3cFfjD31Mdy+LV2zS+8Wec0A+NYwYXlQrCb5SZ\n+kszJ+Oac9PzY5mtqsaa/s3zsnjZBguN8hEM6s7k9Qcz7lyWrJHc1WqrnU/tF6/eZuiHDsDaJRMw\nHR3rDWG9cREJnX5rzVZnxvIF8RYkAg7uZ8yl5vts4xgsplhmAscmK276JYxH82qPK4LkRgpR6+ob\noYQmV9G8+E2aTKyMAX9KjEP9W9418lWtUzBSpUqqCAk4e0RK5RAMkCuhsOdo9osM5R2bmfjIAZW4\nqH4IxtZV47GWCWn7zVZVe2L/eZ4X1cs2CAAf7DpSMHVYHoLBZj0GpwhkbAQc0jecploKqyKPlIhJ\nQ1c5GxdLK9SGsDFD+mLnIW0nuv1gt7lAkumNJ9AuNuLdsx9I6cLN1CVWNgar2YRdhk4zTyebrLhp\nmBi/1bEJb93T5MiNtFnoxJeEzcnvRMAFgU1Y05x5fempra7AkR5JQBGkpG7rdxxO7v/bziO29adm\n4crN9gcVOjaqpO0Hu/Ff305Xzf7q21/CiQOl0bpRLjHLwVkWeNEGFY72xgumDsvDXdVq5OlCX331\nOcZGwMvGnYCjvXG8vG5XctvgfhHsPtyDcCAVMemlAbF+7gpNcM1HBoucVIQEXDbuBNz7D+ZrEHy2\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10ff508d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# run the main function\n",
    "if __name__ == \"__main__\":\n",
    "    main()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 参考资料：\n",
    "参考文献：https://wenku.baidu.com/view/edc760d126fff705cc170ae0.html\n",
    "\n",
    "数据来源：https://github.com/ShashShukla/ICA/tree/master/sourceSounds\n",
    "\n",
    "参考代码：http://blog.csdn.net/lizhe_dashuju/article/details/50263339"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
